热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

负担|发生_负载均衡4层和7层对比

篇首语:本文由编程笔记#小编为大家整理,主要介绍了负载均衡-4层和7层对比相关的知识,希望对你有一定的参考价值。        

篇首语:本文由编程笔记#小编为大家整理,主要介绍了负载均衡-4层和7层对比相关的知识,希望对你有一定的参考价值。



     

       按照七层网络协议栈的层划分,负载均衡设备(软件)可以划分为 四层负载均衡和七层负载均衡;其中,四层是基于IP+Port,它能够对报文按照IP进行分发;七层是基于URL地址的服务器负载均衡,它能够针对七层报文内容进行解析,并根据其中的关键字进行逐包转发。

       四层负载均衡的典型代表是LVS,而七层负载均衡的典型代表则为nginx和HAproxy(其中HAproxy既可以做4层负载均衡又可以做七层负载均衡)。


       首先以常见的LVS DR模式来说明四层负载均衡的工作流程:

负载均衡-4层和7层对比_负载均衡

     如上图所示,LVS DR 四层负载均衡工作流程为:

    1. 客户端向负载均衡设备发出请求,源地址为客户端IP地址,目的地址为整个集群的VIP地址;

    2. 交换机转发客户端请求;

    3. LVS负载均衡器利用自带的算法(云眸为wrr)进行算法调度,将请求转发到后端的某一台真实Web服务器;

    4. 此时请求报文的源地址仍然为客户端的IP地址,目的地址为集群Vip地址,但是MAC地址已经被LVS负载均衡服务器更改为后端真实服务器的MAC地址;

    5. 后端真实Web服务器发出响应,源地址为集群Vip地址,目的地址为客户端IP地址,不通过LVS负载均衡服务器(报文仍然要通过交换机)直接与客户端发生联系并回应客户端最初发出的HTTP请求。



     然后再以常用的Nginx来举例说明七层负载均衡器的工作流程:

负载均衡-4层和7层对比_负载均衡_02


   如上图所示。七层负载均衡的工作流程如下:

    1. 客户端向Nginx发出请求,源地址为客户端ip地址,目的地址为集群VIP地址;

    2. 交换机转发请求;

    3. Nginx利用自身算法(如 rr wrr ip_hash)进行调度;

    4. 建立TCP连接,将客户端的请求发送到后端真实web服务器,此时源地址为客户端ip,目的地址为真实web服务的ip地址;

    5. Nginx向后端真实web服务器发出请求;

    6. 后端真实web服务器发出响应,此时源地址为后端真实服务器IP地址,目的地址为客户端IP地址;

    7. 报文经过Nginx时,源地址被还原为集群VIP地址,目的地址仍然为客户端IP地址。



     总结:

     四层负载均衡的优势在于面对大流量冲击的时候,报文只是单方面经过负载均衡器,负载均衡服务器的负担相对很小,不易成为网站或者系统的瓶颈;

     七层负载均衡在分流过程中能够对应用层协议进行深度识别,带来了更精细化均衡的可能;再加上http协议应用广泛,所以七层负载均衡的商用能力更强;而四层负载均衡因无法对七层业务实现内容转发,所以当前主流业务均采用 LVS+Nginx的方式进行负载均衡,从而充分利用两种的优势!


推荐阅读
  • 使用Packet Tracer对不同网段组网模拟
    @[toc]1.不同网段通信处于同于一个网段的电脑通过集线器或者交换机可以实现互相通信,处于不同网段的电脑就需要通过路由器来实现,这里可以通过Cisco的PacketTracer软 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • nginx+多个tomcat
    学习nginx的时候遇到的问题:nginx怎么部署两台tomcat?upstream在网上找的资源,我在nginx配置文件(nginx.conf)中添加了两个server。结果只显 ... [详细]
  • 我们身边的网络知识
    我们身边的网络常识今天咱们交流的主题是网络基础,这块东西对于咱们计算机或者通讯专业的人来说应该是很熟悉的,今天拿出来再说一说,是因为这块知识在咱们工作和生活中时刻都在使用,并且非常 ... [详细]
  • 负载均衡 LVS vs Nginx 对比
    前言今天总结一下负载均衡中LVS与Nginx的区别,之前看过好几篇博文一开始就说LVS是单向的,Nginx是双向的,我个人认为这是不准确的,LVS三种模式中,虽然DR模式以及TU ... [详细]
  • 企业之haproxy
    haproxy是一款功能强大、灵活好用反向代理软件,提供了高可用、负载均衡、后端服务器代理的功能,它在7层负载均衡方面的功能很强大(支持cookietrack,headerre ... [详细]
  • 简介RSocket是在华盛顿特区举行的SpringOne平台会议上宣布的,是一种新的第7层语言无关的应用网络协议。它是一种基于ReactiveStreams背压的双 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 华为和阿里VPN
    阿里云创建VPN1、 创建VPN网关2、 填写名称,选择对应的VPC,不指定交换机,选择带宽3、购买的是IPSEC-VPN不开启SSLVPN,点击立即购买 4、 创建客户网关  ... [详细]
  • 构建LNMP架构平台
    LNMP架构的组成:Linux、Nginx、MySQL、PHP关于NginxNginx与apache的作用一样,都是为了搭建网站服务器,由俄罗斯人lgorsysoev开发,其特点是 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • linux下编译安装lnmp
    2019独角兽企业重金招聘Python工程师标准#######################安装依赖#####################安装必要的包:y ... [详细]
  • php网站设计实验报告,php网站开发实训报告
    本文目录一览:1、php动态网站设计的关键技术有哪些软件,及搭建步骤需要哪些页面,分别完成 ... [详细]
author-avatar
manly213
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有